package com.gao.frame.study.shop.config.module.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

@Data
@TableName(value = "order_master")
public class OrderMaster {
    /**
     * 订单ID
     */
     @TableId(value = "order_id", type = IdType.AUTO)
    private Integer orderId;

    /**
     * 订单编号 yyyymmddnnnnnnnn
     */
    @TableField(value = "order_sn")
    private Long orderSn;

    /**
     * 下单人ID
     */
    @TableField(value = "customer_id")
    private Integer customerId;

    /**
     * 收货人姓名
     */
    @TableField(value = "shipping_user")
    private String shippingUser;

    /**
     * 收货人所在省
     */
    @TableField(value = "province")
    private Short province;

    /**
     * 收货人所在市
     */
    @TableField(value = "city")
    private Short city;

    /**
     * 收货人所在区
     */
    @TableField(value = "district")
    private Short district;

    /**
     * 收货人详细地址
     */
    @TableField(value = "address")
    private String address;

    /**
     * 支付方式:1现金,2余额,3网银,4支付宝,5微信
     */
    @TableField(value = "payment_method")
    private Byte paymentMethod;

    /**
     * 订单金额
     */
    @TableField(value = "order_money")
    private BigDecimal orderMoney;

    /**
     * 优惠金额
     */
    @TableField(value = "district_money")
    private BigDecimal districtMoney;

    /**
     * 运费金额
     */
    @TableField(value = "shipping_money")
    private BigDecimal shippingMoney;

    /**
     * 支付金额
     */
    @TableField(value = "payment_money")
    private BigDecimal paymentMoney;

    /**
     * 快递公司名称
     */
    @TableField(value = "shipping_comp_name")
    private String shippingCompName;

    /**
     * 快递单号
     */
    @TableField(value = "shipping_sn")
    private String shippingSn;

    /**
     * 下单时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 发货时间
     */
    @TableField(value = "shipping_time")
    private Date shippingTime;

    /**
     * 支付时间
     */
    @TableField(value = "pay_time")
    private Date payTime;

    /**
     * 收货时间
     */
    @TableField(value = "receive_time")
    private Date receiveTime;

    /**
     * 订单状态
     */
    @TableField(value = "order_status")
    private Byte orderStatus;

    /**
     * 订单积分
     */
    @TableField(value = "order_point")
    private Integer orderPoint;

    /**
     * 发票抬头
     */
    @TableField(value = "invoice_title")
    private String invoiceTitle;

    /**
     * 最后修改时间
     */
    @TableField(value = "modified_time")
    private Date modifiedTime;

    public static final String COL_ORDER_SN = "order_sn";

    public static final String COL_CUSTOMER_ID = "customer_id";

    public static final String COL_SHIPPING_USER = "shipping_user";

    public static final String COL_PROVINCE = "province";

    public static final String COL_CITY = "city";

    public static final String COL_DISTRICT = "district";

    public static final String COL_ADDRESS = "address";

    public static final String COL_PAYMENT_METHOD = "payment_method";

    public static final String COL_ORDER_MONEY = "order_money";

    public static final String COL_DISTRICT_MONEY = "district_money";

    public static final String COL_SHIPPING_MONEY = "shipping_money";

    public static final String COL_PAYMENT_MONEY = "payment_money";

    public static final String COL_SHIPPING_COMP_NAME = "shipping_comp_name";

    public static final String COL_SHIPPING_SN = "shipping_sn";

    public static final String COL_CREATE_TIME = "create_time";

    public static final String COL_SHIPPING_TIME = "shipping_time";

    public static final String COL_PAY_TIME = "pay_time";

    public static final String COL_RECEIVE_TIME = "receive_time";

    public static final String COL_ORDER_STATUS = "order_status";

    public static final String COL_ORDER_POINT = "order_point";

    public static final String COL_INVOICE_TITLE = "invoice_title";

    public static final String COL_MODIFIED_TIME = "modified_time";
}